//
//  main.c
//  queueADT
//
//  Created by chenyh on 2021/1/20.
//

#include <stdio.h>
#include "queue.h"

int main(int argc, const char * argv[]) {
    
    Queue line;
    Item temp = 0;
    char ch;
    InitializeQueue(&line);
    puts("Testing the Queue interface.Type a to add a value,");
    puts("type d to delete a value,and type q to quit. ");

    while ((ch = getchar()) != 'q')  {
        if (ch != 'a' && ch != 'd') {
            continue;
        }
        if (ch == 'a') {
            printf("Integer to add: ");
            scanf("%d",&temp);
            if (!QueueIsFull(&line)) {
                printf("Putting %d into queue\n",temp);
                EnQueue(temp, &line);
            }else
            {
                puts("Queue is full!");
            }
        }else {
            if (QueueIsEmpty(&line)) {
                puts("Nothing to delete!");
            }else{
                DeQueue(&temp, &line);
                printf("Removing %d from queue\n",temp);
            }
        }
        printf("%d items in queue\n",QueueItemCount(&line));
        puts("Type a to add, d to delete,q to quit:");
    }
    EmptyTheQueue(&line);
    puts("Bye!");

    return 0;
}
